home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1993 April: Penguin on DISC / ADC Developer CD (1993-04) (''Penguin On DISC'')_iso / Dev.CD Apr 93.iso / Utilities / MPW Interfaces 7.1 Beta / PInterfaces / Files.p < prev    next >
Encoding:
Text File  |  1992-08-28  |  37.3 KB  |  1,051 lines  |  [TEXT/MPS ]

  1.  
  2. {
  3. Created: Tuesday, July 30, 1991 at 4:00 PM
  4.  Files.p
  5.  Pascal Interface to the Macintosh Libraries
  6.  
  7.   Copyright Apple Computer, Inc. 1985-1991
  8.   All rights reserved
  9.  
  10. *** Warning: This is an alpha version of the Interfaces for Cube-E. 
  11. ***          Things may change.  Caveat Programmer.
  12.  
  13.  
  14. }
  15.  
  16.  
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT Files;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED UsingFiles}
  27. {$SETC UsingFiles := 1}
  28.  
  29. {$I+}
  30. {$SETC FilesIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32. {$IFC UNDEFINED UsingTypes}
  33. {$I $$Shell(PInterfaces)Types.p}
  34. {$ENDC}
  35. {$IFC UNDEFINED UsingOSUtils}
  36. {$I $$Shell(PInterfaces)OSUtils.p}
  37. {$ENDC}
  38. {$IFC UNDEFINED UsingSegLoad}
  39. {$I $$Shell(PInterfaces)SegLoad.p}
  40. {$ENDC}
  41. {$SETC UsingIncludes := FilesIncludes}
  42.  
  43. CONST
  44.  
  45. { Finder Constants }
  46. fsAtMark = 0;
  47. fOnDesk = 1;
  48. fsCurPerm = 0;
  49. fHasBundle = 8192;
  50. fsRdPerm = 1;
  51. fInvisible = 16384;
  52. fTrash = -3;
  53. fsWrPerm = 2;
  54. fDesktop = -2;
  55. fsRdWrPerm = 3;
  56. fDisk = 0;
  57. fsRdWrShPerm = 4;
  58. fsFromStart = 1;
  59. fsFromLEOF = 2;
  60. fsFromMark = 3;
  61. rdVerify = 64;
  62. ioDirFlg = 3;                                { see IM IV-125 }
  63. ioDirMask = $10;
  64. fsRtParID = 1;
  65. fsRtDirID = 2;
  66.  
  67. { CatSearch SearchBits Constants }
  68. fsSBPartialName = 1;
  69. fsSBFullName = 2;
  70. fsSBFlAttrib = 4;
  71. fsSBFlFndrInfo = 8;
  72. fsSBFlLgLen = 32;
  73. fsSBFlPyLen = 64;
  74. fsSBFlRLgLen = 128;
  75. fsSBFlRPyLen = 256;
  76. fsSBFlCrDat = 512;
  77. fsSBFlMdDat = 1024;
  78. fsSBFlBkDat = 2048;
  79. fsSBFlXFndrInfo = 4096;
  80. fsSBFlParID = 8192;
  81. fsSBNegate = 16384;
  82. fsSBDrUsrWds = 8;
  83. fsSBDrNmFls = 16;
  84. fsSBDrCrDat = 512;
  85. fsSBDrMdDat = 1024;
  86. fsSBDrBkDat = 2048;
  87. fsSBDrFndrInfo = 4096;
  88. fsSBDrParID = 8192;
  89.  
  90. { vMAttrib (GetVolParms) bit position constants }
  91. bLimitFCBs = 31;
  92. bLocalWList = 30;
  93. bNoMiniFndr = 29;
  94. bNoVNEdit = 28;
  95. bNoLclSync = 27;
  96. bTrshOffLine = 26;
  97. bNoSwitchTo = 25;
  98. bNoDeskItems = 20;
  99. bNoBootBlks = 19;
  100. bAccessCntl = 18;
  101. bNoSysDir = 17;
  102. bHasExtFSVol = 16;
  103. bHasOpenDeny = 15;
  104. bHasCopyFile = 14;
  105. bHasMoveRename = 13;
  106. bHasDesktopMgr = 12;
  107. bHasShortName = 11;
  108. bHasFolderLock = 10;
  109. bHasPersonalAccessPrivileges = 9;
  110. bHasUserGroupList = 8;
  111. bHasCatSearch = 7;
  112. bHasFileIDs = 6;
  113. bHasBTreeMgr = 5;
  114. bHasBlankAccessPrivileges = 4;
  115.  
  116. { Desktop Database icon Constants }
  117. kLargeIcon = 1;
  118. kLarge4BitIcon = 2;
  119. kLarge8BitIcon = 3;
  120. kSmallIcon = 4;
  121. kSmall4BitIcon = 5;
  122. kSmall8BitIcon = 6;
  123.  
  124. kLargeIconSize = 256;
  125. kLarge4BitIconSize = 512;
  126. kLarge8BitIconSize = 1024;
  127. kSmallIconSize = 64;
  128. kSmall4BitIconSize = 128;
  129. kSmall8BitIconSize = 256;
  130.  
  131. { Foreign Privilege Model Identifiers }
  132. fsUnixPriv = 1;
  133.  
  134. { Version Release Stage Codes }
  135. developStage = $20;
  136. alphaStage = $40;
  137. betaStage = $60;
  138. finalStage = $80;
  139.  
  140. { Authentication Constants }
  141. kNoUserAuthentication = 1;
  142. kPassword = 2;
  143. kEncryptPassword = 3;
  144. kTwoWayEncryptPassword = 6;
  145.  
  146. TYPE
  147. CInfoType = (hFileInfo,dirInfo);
  148.  
  149.  
  150. FXInfo = RECORD
  151.  fdIconID: INTEGER;                            {Icon ID}
  152.  fdUnused: ARRAY [1..3] OF INTEGER;            {unused but reserved 6 bytes}
  153.  fdScript: SignedByte;                        {Script flag and number}
  154.  fdXFlags: SignedByte;                        {More flag bits}
  155.  fdComment: INTEGER;                        {Comment ID}
  156.  fdPutAway: LONGINT;                        {Home Dir ID}
  157.  END;
  158.  
  159. DInfo = RECORD
  160.  frRect: Rect;                                {folder rect}
  161.  frFlags: INTEGER;                            {Flags}
  162.  frLocation: Point;                            {folder location}
  163.  frView: INTEGER;                            {folder view}
  164.  END;
  165.  
  166. DXInfo = RECORD
  167.  frScroll: Point;                            {scroll position}
  168.  frOpenChain: LONGINT;                        {DirID chain of open folders}
  169.  frScript: SignedByte;                        {Script flag and number}
  170.  frXFlags: SignedByte;                        {More flag bits}
  171.  frComment: INTEGER;                        {comment}
  172.  frPutAway: LONGINT;                        {DirID}
  173.  END;
  174.  
  175. GetVolParmsInfoBuffer = RECORD
  176.  vMVersion: INTEGER;                        {version number}
  177.  vMAttrib: LONGINT;                            {bit vector of attributes (see vMAttrib constants)}
  178.  vMLocalHand: Handle;                        {handle to private data}
  179.  vMServerAdr: LONGINT;                        {AppleTalk server address or zero}
  180.  vMVolumeGrade: LONGINT;                    {approx. speed rating or zero if unrated}
  181.  vMForeignPrivID: INTEGER;                    {foreign privilege model supported or zero if none}
  182.  END;
  183.  
  184. CInfoPBPtr = ^CInfoPBRec;
  185. CInfoPBRec = RECORD
  186.  qLink: QElemPtr;
  187.  qType: INTEGER;
  188.  ioTrap: INTEGER;
  189.  ioCmdAddr: Ptr;
  190.  ioCompletion: ProcPtr;
  191.  ioResult: OSErr;
  192.  ioNamePtr: StringPtr;
  193.  ioVRefNum: INTEGER;
  194.  ioFRefNum: INTEGER;
  195.  ioFVersNum: SignedByte;
  196.  filler1: SignedByte;
  197.  ioFDirIndex: INTEGER;
  198.  ioFlAttrib: SignedByte;
  199.  filler2: SignedByte;
  200.  CASE CInfoType OF
  201.    hFileInfo:
  202.   (ioFlFndrInfo: FInfo;
  203.   ioDirID: LONGINT;
  204.   ioFlStBlk: INTEGER;
  205.   ioFlLgLen: LONGINT;
  206.   ioFlPyLen: LONGINT;
  207.   ioFlRStBlk: INTEGER;
  208.   ioFlRLgLen: LONGINT;
  209.   ioFlRPyLen: LONGINT;
  210.   ioFlCrDat: LONGINT;
  211.   ioFlMdDat: LONGINT;
  212.   ioFlBkDat: LONGINT;
  213.   ioFlXFndrInfo: FXInfo;
  214.   ioFlParID: LONGINT;
  215.   ioFlClpSiz: LONGINT);
  216.    dirInfo:
  217.   (ioDrUsrWds: DInfo;
  218.   ioDrDirID: LONGINT;
  219.   ioDrNmFls: INTEGER;
  220.   filler3: ARRAY [1..9] OF INTEGER;
  221.   ioDrCrDat: LONGINT;
  222.   ioDrMdDat: LONGINT;
  223.   ioDrBkDat: LONGINT;
  224.   ioDrFndrInfo: DXInfo;
  225.   ioDrParID: LONGINT);
  226.  END;
  227.  
  228. { Catalog position record }
  229. CatPositionRec = RECORD
  230.  initialize: LONGINT;
  231.  priv: ARRAY [1..6] OF INTEGER;
  232.  END;
  233.  
  234. FSSpecPtr = ^FSSpec;
  235. FSSpecHandle = ^FSSpecPtr;
  236. FSSpec = RECORD
  237.  vRefNum: INTEGER;
  238.  parID: LONGINT;
  239.  name: Str63;
  240.  END;
  241.  
  242. FSSpecArrayPtr = ^FSSpecArray;
  243. FSSpecArrayHandle = ^FSSpecArrayPtr;
  244.  
  245. FSSpecArray = ARRAY [0..0] OF FSSpec;
  246.  
  247.  
  248. { The following are structures to be filled out with the _GetVolMountInfo call
  249.  and passed back into the _VolumeMount call for external file system mounts. }
  250.  
  251. VolumeType = OSType;                        { the "signature" of the file system }
  252.  
  253. CONST
  254. AppleShareMediaType = 'afpm';                { the signature for AppleShare }
  255.  
  256. TYPE
  257. VolMountInfoPtr = ^VolMountInfoHeader;
  258. VolMountInfoHeader = RECORD
  259.  length: INTEGER;                            { length of location data (including self) }
  260.  media: VolumeType;                            { type of media.  Variable length data follows }
  261.  END;
  262.  
  263. AFPVolMountInfoPtr = ^AFPVolMountInfo;
  264. AFPVolMountInfo = RECORD
  265.  length: INTEGER;                            { length of location data (including self) }
  266.  media: VolumeType;                            { type of media }
  267.  flags: INTEGER;                            { bits for no messages, no reconnect }
  268.  nbpInterval: SignedByte;                    { NBP Interval parameter (IM2, p.322) }
  269.  nbpCount: SignedByte;                        { NBP Interval parameter (IM2, p.322) }
  270.  uamType: INTEGER;                            { User Authentication Method }
  271.  zoneNameOffset: INTEGER;                    { short positive offset from start of struct to Zone Name }
  272.  serverNameOffset: INTEGER;                    { offset to pascal Server Name string }
  273.  volNameOffset: INTEGER;                    { offset to pascal Volume Name string }
  274.  userNameOffset: INTEGER;                    { offset to pascal User Name string }
  275.  userPasswordOffset: INTEGER;                { offset to pascal User Password string }
  276.  volPasswordOffset: INTEGER;                { offset to pascal Volume Password string }
  277.  AFPData: PACKED ARRAY [1..144] OF CHAR;    { variable length data may follow }
  278.  END;
  279.  
  280. DTPBPtr = ^DTPBRec;
  281. DTPBRec = RECORD
  282.  qLink: QElemPtr;
  283.  qType: INTEGER;
  284.  ioTrap: INTEGER;
  285.  ioCmdAddr: Ptr;
  286.  ioCompletion: ProcPtr;
  287.  ioResult: OSErr;
  288.  ioNamePtr: StringPtr;
  289.  ioVRefNum: INTEGER;
  290.  ioDTRefNum: INTEGER;
  291.  ioIndex: INTEGER;
  292.  ioTagInfo: LONGINT;
  293.  ioDTBuffer: Ptr;
  294.  ioDTReqCount: LONGINT;
  295.  ioDTActCount: LONGINT;
  296.  filler1: SignedByte;
  297.  ioIconType: SignedByte;
  298.  filler2: INTEGER;
  299.  ioDirID: LONGINT;
  300.  ioFileCreator: OSType;
  301.  ioFileType: OSType;
  302.  ioFiller3: LONGINT;
  303.  ioDTLgLen: LONGINT;
  304.  ioDTPyLen: LONGINT;
  305.  ioFiller4: ARRAY [1..14] OF INTEGER;
  306.  ioAPPLParID: LONGINT;
  307.  END;
  308.  
  309. HParmBlkPtr = ^HParamBlockRec;
  310. HParamBlockRec = RECORD
  311.  qLink: QElemPtr;
  312.  qType: INTEGER;
  313.  ioTrap: INTEGER;
  314.  ioCmdAddr: Ptr;
  315.  ioCompletion: ProcPtr;
  316.  ioResult: OSErr;
  317.  ioNamePtr: StringPtr;
  318.  ioVRefNum: INTEGER;
  319.  CASE ParamBlkType OF
  320.    IOParam:
  321.   (ioRefNum: INTEGER;
  322.   ioVersNum: SignedByte;
  323.   ioPermssn: SignedByte;
  324.   ioMisc: Ptr;
  325.   ioBuffer: Ptr;
  326.   ioReqCount: LONGINT;                        {size of buffer area}
  327.   ioActCount: LONGINT;                        {length of vol parms data}
  328.   ioPosMode: INTEGER;
  329.   ioPosOffset: LONGINT);
  330.    FileParam:
  331.   (ioFRefNum: INTEGER;
  332.   ioFVersNum: SignedByte;
  333.   filler1: SignedByte;
  334.   ioFDirIndex: INTEGER;
  335.   ioFlAttrib: SignedByte;
  336.   ioFlVersNum: SignedByte;
  337.   ioFlFndrInfo: FInfo;
  338.   ioDirID: LONGINT;
  339.   ioFlStBlk: INTEGER;
  340.   ioFlLgLen: LONGINT;
  341.   ioFlPyLen: LONGINT;
  342.   ioFlRStBlk: INTEGER;
  343.   ioFlRLgLen: LONGINT;
  344.   ioFlRPyLen: LONGINT;
  345.   ioFlCrDat: LONGINT;
  346.   ioFlMdDat: LONGINT);
  347.    VolumeParam:
  348.   (filler2: LONGINT;
  349.   ioVolIndex: INTEGER;
  350.   ioVCrDate: LONGINT;
  351.   ioVLsMod: LONGINT;
  352.   ioVAtrb: INTEGER;
  353.   ioVNmFls: INTEGER;
  354.   ioVBitMap: INTEGER;
  355.   ioAllocPtr: INTEGER;
  356.   ioVNmAlBlks: INTEGER;
  357.   ioVAlBlkSiz: LONGINT;
  358.   ioVClpSiz: LONGINT;
  359.   ioAlBlSt: INTEGER;
  360.   ioVNxtCNID: LONGINT;
  361.   ioVFrBlk: INTEGER;
  362.   ioVSigWord: INTEGER;
  363.   ioVDrvInfo: INTEGER;
  364.   ioVDRefNum: INTEGER;
  365.   ioVFSID: INTEGER;
  366.   ioVBkUp: LONGINT;
  367.   ioVSeqNum: INTEGER;
  368.   ioVWrCnt: LONGINT;
  369.   ioVFilCnt: LONGINT;
  370.   ioVDirCnt: LONGINT;
  371.   ioVFndrInfo: ARRAY [1..8] OF LONGINT);
  372.    AccessParam:
  373.   (filler3: INTEGER;
  374.   ioDenyModes: INTEGER;                        {access rights data}
  375.   filler4: INTEGER;
  376.   filler5: SignedByte;
  377.   ioACUser: SignedByte;                        {access rights for directory only}
  378.   filler6: LONGINT;
  379.   ioACOwnerID: LONGINT;                        {owner ID}
  380.   ioACGroupID: LONGINT;                        {group ID}
  381.   ioACAccess: LONGINT);                        {access rights}
  382.    ObjParam:
  383.   (filler7: INTEGER;
  384.   ioObjType: INTEGER;                        {function code}
  385.   ioObjNamePtr: Ptr;                        {ptr to returned creator/group name}
  386.   ioObjID: LONGINT);                        {creator/group ID}
  387.    CopyParam:
  388.   (ioDstVRefNum: INTEGER;                    {destination vol identifier}
  389.   filler8: INTEGER;
  390.   ioNewName: Ptr;                            {ptr to destination pathname}
  391.   ioCopyName: Ptr;                            {ptr to optional name}
  392.   ioNewDirID: LONGINT);                        {destination directory ID}
  393.    WDParam:
  394.   (filler9: INTEGER;
  395.   ioWDIndex: INTEGER;
  396.   ioWDProcID: LONGINT;
  397.   ioWDVRefNum: INTEGER;
  398.   filler10: INTEGER;
  399.   filler11: LONGINT;
  400.   filler12: LONGINT;
  401.   filler13: LONGINT;
  402.   ioWDDirID: LONGINT);
  403.    FIDParam:
  404.   (filler14: LONGINT;
  405.   ioDestNamePtr: StringPtr;
  406.   filler15: LONGINT;
  407.   ioDestDirID: LONGINT;
  408.   filler16: LONGINT;
  409.   filler17: LONGINT;
  410.   ioSrcDirID: LONGINT;
  411.   filler18:  INTEGER;
  412.   ioFileID:  LONGINT);
  413.    CSParam:
  414.   (ioMatchPtr: FSSpecArrayPtr;                {match array}
  415.   ioReqMatchCount: LONGINT;                 {maximum allowable matches}
  416.   ioActMatchCount: LONGINT;                 {actual match count}
  417.   ioSearchBits: LONGINT;                       {search criteria selector}
  418.   ioSearchInfo1: CInfoPBPtr;                 {search values and range lower bounds}
  419.   ioSearchInfo2: CInfoPBPtr;                 {search values and range upper bounds}
  420.   ioSearchTime: LONGINT;                      {length of time to run the search}
  421.   ioCatPosition: CatPositionRec;             {current position in the catalog}
  422.   ioOptBuffer: Ptr;                           {optional performance enhancement buffer}
  423.   ioOptBufSize: LONGINT);                      {length of buffer pointed to by ioOptBuffer}
  424.    ForeignPrivParam:
  425.     (filler21: LONGINT;
  426.   filler22: LONGINT;
  427.   ioForeignPrivBuffer: Ptr;
  428.   ioForeignPrivReqCount: LONGINT;
  429.   ioForeignPrivActCount: LONGINT;
  430.   filler23: LONGINT;
  431.   ioForeignPrivDirID: LONGINT;
  432.   ioForeignPrivInfo1: LONGINT;
  433.   ioForeignPrivInfo2: LONGINT;
  434.   ioForeignPrivInfo3: LONGINT;
  435.   ioForeignPrivInfo4: LONGINT);
  436.  END;
  437.  
  438. CMovePBPtr = ^CMovePBRec;
  439. CMovePBRec = RECORD
  440.  qLink: QElemPtr;
  441.  qType: INTEGER;
  442.  ioTrap: INTEGER;
  443.  ioCmdAddr: Ptr;
  444.  ioCompletion: ProcPtr;
  445.  ioResult: OSErr;
  446.  ioNamePtr: StringPtr;
  447.  ioVRefNum: INTEGER;
  448.  filler1: LONGINT;
  449.  ioNewName: StringPtr;
  450.  filler2: LONGINT;
  451.  ioNewDirID: LONGINT;
  452.  filler3: ARRAY [1..2] OF LONGINT;
  453.  ioDirID: LONGINT;
  454.  END;
  455.  
  456. WDPBPtr = ^WDPBRec;
  457. WDPBRec = RECORD
  458.  qLink: QElemPtr;
  459.  qType: INTEGER;
  460.  ioTrap: INTEGER;
  461.  ioCmdAddr: Ptr;
  462.  ioCompletion: ProcPtr;
  463.  ioResult: OSErr;
  464.  ioNamePtr: StringPtr;
  465.  ioVRefNum: INTEGER;
  466.  filler1: INTEGER;
  467.  ioWDIndex: INTEGER;
  468.  ioWDProcID: LONGINT;
  469.  ioWDVRefNum: INTEGER;
  470.  filler2: ARRAY [1..7] OF INTEGER;
  471.  ioWDDirID: LONGINT;
  472.  END;
  473.  
  474. FCBPBPtr = ^FCBPBRec;
  475. FCBPBRec = RECORD
  476.  qLink: QElemPtr;
  477.  qType: INTEGER;
  478.  ioTrap: INTEGER;
  479.  ioCmdAddr: Ptr;
  480.  ioCompletion: ProcPtr;
  481.  ioResult: OSErr;
  482.  ioNamePtr: StringPtr;
  483.  ioVRefNum: INTEGER;
  484.  ioRefNum: INTEGER;
  485.  filler: INTEGER;
  486.  ioFCBIndx: INTEGER;
  487.  filler1: INTEGER;
  488.  ioFCBFlNm: LONGINT;
  489.  ioFCBFlags: INTEGER;
  490.  ioFCBStBlk: INTEGER;
  491.  ioFCBEOF: LONGINT;
  492.  ioFCBPLen: LONGINT;
  493.  ioFCBCrPs: LONGINT;
  494.  ioFCBVRefNum: INTEGER;
  495.  ioFCBClpSiz: LONGINT;
  496.  ioFCBParID: LONGINT;
  497.  END;
  498.  
  499. { Numeric version part of 'vers' resource }
  500. NumVersion = PACKED RECORD
  501.  CASE INTEGER OF
  502.    0:
  503.   (majorRev: SignedByte;                    {1st part of version number in BCD}
  504.   minorRev: 0..9;                            {2nd part is 1 nibble in BCD}
  505.   bugFixRev: 0..9;                            {3rd part is 1 nibble in BCD}
  506.   stage: SignedByte;                        {stage code: dev, alpha, beta, final}
  507.   nonRelRev: SignedByte);                    {revision level of non-released version}
  508.    1:
  509.   (version: LONGINT);                        {to use all 4 fields at one time}
  510.  END;
  511.  
  512. { 'vers' resource format }
  513. VersRecPtr = ^VersRec;
  514. VersRecHndl = ^VersRecPtr;
  515. VersRec = RECORD
  516.  numericVersion: NumVersion;                {encoded version number}
  517.  countryCode: INTEGER;                        {country code from intl utilities}
  518.  shortVersion: Str255;                        {version number string - worst case}
  519.  reserved: Str255;                            {longMessage string packed after shortVersion}
  520.  END;
  521.  
  522.  
  523. FUNCTION PBOpen(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  524. FUNCTION PBOpenSync(paramBlock: ParmBlkPtr): OSErr;
  525.  INLINE $205F,$A000,$3E80;
  526. FUNCTION PBOpenAsync(paramBlock: ParmBlkPtr): OSErr;
  527.  INLINE $205F,$A400,$3E80;
  528. FUNCTION PBClose(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  529. FUNCTION PBCloseSync(paramBlock: ParmBlkPtr): OSErr;
  530.  INLINE $205F,$A001,$3E80;
  531. FUNCTION PBCloseAsync(paramBlock: ParmBlkPtr): OSErr;
  532.  INLINE $205F,$A401,$3E80;
  533. FUNCTION PBRead(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  534. FUNCTION PBReadSync(paramBlock: ParmBlkPtr): OSErr;
  535.  INLINE $205F,$A002,$3E80;
  536. FUNCTION PBReadAsync(paramBlock: ParmBlkPtr): OSErr;
  537.  INLINE $205F,$A402,$3E80;
  538. FUNCTION PBWrite(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  539. FUNCTION PBWriteSync(paramBlock: ParmBlkPtr): OSErr;
  540.  INLINE $205F,$A003,$3E80;
  541. FUNCTION PBWriteAsync(paramBlock: ParmBlkPtr): OSErr;
  542.  INLINE $205F,$A403,$3E80;
  543. FUNCTION PBGetVInfo(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  544. FUNCTION PBGetVInfoSync(paramBlock: ParmBlkPtr): OSErr;
  545.  INLINE $205F,$A007,$3E80;
  546. FUNCTION PBGetVInfoAsync(paramBlock: ParmBlkPtr): OSErr;
  547.  INLINE $205F,$A407,$3E80;
  548. FUNCTION PBGetVol(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  549. FUNCTION PBGetVolSync(paramBlock: ParmBlkPtr): OSErr;
  550.  INLINE $205F,$A014,$3E80;
  551. FUNCTION PBGetVolAsync(paramBlock: ParmBlkPtr): OSErr;
  552.  INLINE $205F,$A414,$3E80;
  553. FUNCTION PBSetVol(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  554. FUNCTION PBSetVolSync(paramBlock: ParmBlkPtr): OSErr;
  555.  INLINE $205F,$A015,$3E80;
  556. FUNCTION PBSetVolAsync(paramBlock: ParmBlkPtr): OSErr;
  557.  INLINE $205F,$A415,$3E80;
  558. FUNCTION PBFlushVol(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  559. FUNCTION PBFlushVolSync(paramBlock: ParmBlkPtr): OSErr;
  560.  INLINE $205F,$A013,$3E80;
  561. FUNCTION PBFlushVolAsync(paramBlock: ParmBlkPtr): OSErr;
  562.  INLINE $205F,$A413,$3E80;
  563. FUNCTION PBCreate(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  564. FUNCTION PBCreateSync(paramBlock: ParmBlkPtr): OSErr;
  565.  INLINE $205F,$A008,$3E80;
  566. FUNCTION PBCreateAsync(paramBlock: ParmBlkPtr): OSErr;
  567.  INLINE $205F,$A408,$3E80;
  568. FUNCTION PBDelete(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  569. FUNCTION PBDeleteSync(paramBlock: ParmBlkPtr): OSErr;
  570.  INLINE $205F,$A009,$3E80;
  571. FUNCTION PBDeleteAsync(paramBlock: ParmBlkPtr): OSErr;
  572.  INLINE $205F,$A409,$3E80;
  573. FUNCTION PBOpenDF(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  574. FUNCTION PBOpenDFSync(paramBlock: ParmBlkPtr): OSErr;
  575.  INLINE $205F,$701A,$A060,$3E80;
  576. FUNCTION PBOpenDFAsync(paramBlock: ParmBlkPtr): OSErr;
  577.  INLINE $205F,$701A,$A460,$3E80;
  578. FUNCTION PBOpenRF(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  579. FUNCTION PBOpenRFSync(paramBlock: ParmBlkPtr): OSErr;
  580.  INLINE $205F,$A00A,$3E80;
  581. FUNCTION PBOpenRFAsync(paramBlock: ParmBlkPtr): OSErr;
  582.  INLINE $205F,$A40A,$3E80;
  583. FUNCTION PBRename(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  584. FUNCTION PBRenameSync(paramBlock: ParmBlkPtr): OSErr;
  585.  INLINE $205F,$A00B,$3E80;
  586. FUNCTION PBRenameAsync(paramBlock: ParmBlkPtr): OSErr;
  587.  INLINE $205F,$A40B,$3E80;
  588. FUNCTION PBGetFInfo(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  589. FUNCTION PBGetFInfoSync(paramBlock: ParmBlkPtr): OSErr;
  590.  INLINE $205F,$A00C,$3E80;
  591. FUNCTION PBGetFInfoAsync(paramBlock: ParmBlkPtr): OSErr;
  592.  INLINE $205F,$A40C,$3E80;
  593. FUNCTION PBSetFInfo(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  594. FUNCTION PBSetFInfoSync(paramBlock: ParmBlkPtr): OSErr;
  595.  INLINE $205F,$A00D,$3E80;
  596. FUNCTION PBSetFInfoAsync(paramBlock: ParmBlkPtr): OSErr;
  597.  INLINE $205F,$A40D,$3E80;
  598. FUNCTION PBSetFLock(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  599. FUNCTION PBSetFLockSync(paramBlock: ParmBlkPtr): OSErr;
  600.  INLINE $205F,$A041,$3E80;
  601. FUNCTION PBSetFLockAsync(paramBlock: ParmBlkPtr): OSErr;
  602.  INLINE $205F,$A441,$3E80;
  603. FUNCTION PBRstFLock(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  604. FUNCTION PBRstFLockSync(paramBlock: ParmBlkPtr): OSErr;
  605.  INLINE $205F,$A042,$3E80;
  606. FUNCTION PBRstFLockAsync(paramBlock: ParmBlkPtr): OSErr;
  607.  INLINE $205F,$A442,$3E80;
  608. FUNCTION PBSetFVers(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  609. FUNCTION PBSetFVersSync(paramBlock: ParmBlkPtr): OSErr;
  610.  INLINE $205F,$A043,$3E80;
  611. FUNCTION PBSetFVersAsync(paramBlock: ParmBlkPtr): OSErr;
  612.  INLINE $205F,$A443,$3E80;
  613. FUNCTION PBAllocate(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  614. FUNCTION PBAllocateSync(paramBlock: ParmBlkPtr): OSErr;
  615.  INLINE $205F,$A010,$3E80;
  616. FUNCTION PBAllocateAsync(paramBlock: ParmBlkPtr): OSErr;
  617.  INLINE $205F,$A410,$3E80;
  618. FUNCTION PBGetEOF(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  619. FUNCTION PBGetEOFSync(paramBlock: ParmBlkPtr): OSErr;
  620.  INLINE $205F,$A011,$3E80;
  621. FUNCTION PBGetEOFAsync(paramBlock: ParmBlkPtr): OSErr;
  622.  INLINE $205F,$A411,$3E80;
  623. FUNCTION PBSetEOF(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  624. FUNCTION PBSetEOFSync(paramBlock: ParmBlkPtr): OSErr;
  625.  INLINE $205F,$A012,$3E80;
  626. FUNCTION PBSetEOFAsync(paramBlock: ParmBlkPtr): OSErr;
  627.  INLINE $205F,$A412,$3E80;
  628. FUNCTION PBGetFPos(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  629. FUNCTION PBGetFPosSync(paramBlock: ParmBlkPtr): OSErr;
  630.  INLINE $205F,$A018,$3E80;
  631. FUNCTION PBGetFPosAsync(paramBlock: ParmBlkPtr): OSErr;
  632.  INLINE $205F,$A418,$3E80;
  633. FUNCTION PBSetFPos(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  634. FUNCTION PBSetFPosSync(paramBlock: ParmBlkPtr): OSErr;
  635.  INLINE $205F,$A044,$3E80;
  636. FUNCTION PBSetFPosAsync(paramBlock: ParmBlkPtr): OSErr;
  637.  INLINE $205F,$A444,$3E80;
  638. FUNCTION PBFlushFile(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  639. FUNCTION PBFlushFileSync(paramBlock: ParmBlkPtr): OSErr;
  640.  INLINE $205F,$A045,$3E80;
  641. FUNCTION PBFlushFileAsync(paramBlock: ParmBlkPtr): OSErr;
  642.  INLINE $205F,$A445,$3E80;
  643. FUNCTION PBMountVol(paramBlock: ParmBlkPtr): OSErr;
  644. FUNCTION PBUnmountVol(paramBlock: ParmBlkPtr): OSErr;
  645. FUNCTION PBEject(paramBlock: ParmBlkPtr): OSErr;
  646. FUNCTION PBOffLine(paramBlock: ParmBlkPtr): OSErr;
  647.  
  648. FUNCTION PBCatSearch(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  649. FUNCTION PBCatSearchSync(paramBlock: HParmBlkPtr): OSErr;
  650.  INLINE $205F,$7018,$A260,$3E80;
  651. FUNCTION PBCatSearchAsync(paramBlock: HParmBlkPtr): OSErr;
  652.  INLINE $205F,$7018,$A660,$3E80;
  653.  
  654. PROCEDURE AddDrive(drvrRefNum: INTEGER;drvNum: INTEGER;qEl: DrvQElPtr);
  655. FUNCTION FSOpen(fileName: Str255;vRefNum: INTEGER;VAR refNum: INTEGER): OSErr;
  656. FUNCTION OpenDF(fileName: Str255;vRefNum: INTEGER;VAR refNum: INTEGER): OSErr;
  657. FUNCTION FSClose(refNum: INTEGER): OSErr;
  658. FUNCTION FSRead(refNum: INTEGER;VAR count: LONGINT;buffPtr: Ptr): OSErr;
  659. FUNCTION FSWrite(refNum: INTEGER;VAR count: LONGINT;buffPtr: Ptr): OSErr;
  660. FUNCTION GetVInfo(drvNum: INTEGER;volName: StringPtr;VAR vRefNum: INTEGER;
  661.  VAR freeBytes: LONGINT): OSErr;
  662. FUNCTION GetFInfo(fileName: Str255;vRefNum: INTEGER;VAR fndrInfo: FInfo): OSErr;
  663. FUNCTION GetVol(volName: StringPtr;VAR vRefNum: INTEGER): OSErr;
  664. FUNCTION SetVol(volName: StringPtr;vRefNum: INTEGER): OSErr;
  665. FUNCTION UnmountVol(volName: StringPtr;vRefNum: INTEGER): OSErr;
  666. FUNCTION Eject(volName: StringPtr;vRefNum: INTEGER): OSErr;
  667. FUNCTION FlushVol(volName: StringPtr;vRefNum: INTEGER): OSErr;
  668. FUNCTION Create(fileName: Str255;vRefNum: INTEGER;creator: OSType;fileType: OSType): OSErr;
  669. FUNCTION FSDelete(fileName: Str255;vRefNum: INTEGER): OSErr;
  670. FUNCTION OpenRF(fileName: Str255;vRefNum: INTEGER;VAR refNum: INTEGER): OSErr;
  671. FUNCTION Rename(oldName: Str255;vRefNum: INTEGER;newName: Str255): OSErr;
  672. FUNCTION SetFInfo(fileName: Str255;vRefNum: INTEGER;fndrInfo: FInfo): OSErr;
  673. FUNCTION SetFLock(fileName: Str255;vRefNum: INTEGER): OSErr;
  674. FUNCTION RstFLock(fileName: Str255;vRefNum: INTEGER): OSErr;
  675. FUNCTION Allocate(refNum: INTEGER;VAR count: LONGINT): OSErr;
  676. FUNCTION GetEOF(refNum: INTEGER;VAR logEOF: LONGINT): OSErr;
  677. FUNCTION SetEOF(refNum: INTEGER;logEOF: LONGINT): OSErr;
  678. FUNCTION GetFPos(refNum: INTEGER;VAR filePos: LONGINT): OSErr;
  679. FUNCTION SetFPos(refNum: INTEGER;posMode: INTEGER;posOff: LONGINT): OSErr;
  680. FUNCTION GetVRefNum(fileRefNum: INTEGER;VAR vRefNum: INTEGER): OSErr;
  681.  
  682. FUNCTION PBOpenWD(paramBlock: WDPBPtr;async: BOOLEAN): OSErr;
  683. FUNCTION PBOpenWDSync(paramBlock: WDPBPtr): OSErr;
  684.  INLINE $205F,$7001,$A260,$3E80;
  685. FUNCTION PBOpenWDAsync(paramBlock: WDPBPtr): OSErr;
  686.  INLINE $205F,$7001,$A660,$3E80;
  687. FUNCTION PBCloseWD(paramBlock: WDPBPtr;async: BOOLEAN): OSErr;
  688. FUNCTION PBCloseWDSync(paramBlock: WDPBPtr): OSErr;
  689.  INLINE $205F,$7002,$A260,$3E80;
  690. FUNCTION PBCloseWDAsync(paramBlock: WDPBPtr): OSErr;
  691.  INLINE $205F,$7002,$A660,$3E80;
  692. FUNCTION PBHSetVol(paramBlock: WDPBPtr;async: BOOLEAN): OSErr;
  693. FUNCTION PBHSetVolSync(paramBlock: WDPBPtr): OSErr;
  694.  INLINE $205F,$A215,$3E80;
  695. FUNCTION PBHSetVolAsync(paramBlock: WDPBPtr): OSErr;
  696.  INLINE $205F,$A615,$3E80;
  697. FUNCTION PBHGetVol(paramBlock: WDPBPtr;async: BOOLEAN): OSErr;
  698. FUNCTION PBHGetVolSync(paramBlock: WDPBPtr): OSErr;
  699.  INLINE $205F,$A214,$3E80;
  700. FUNCTION PBHGetVolAsync(paramBlock: WDPBPtr): OSErr;
  701.  INLINE $205F,$A614,$3E80;
  702. FUNCTION PBCatMove(paramBlock: CMovePBPtr;async: BOOLEAN): OSErr;
  703. FUNCTION PBCatMoveSync(paramBlock: CMovePBPtr): OSErr;
  704.  INLINE $205F,$7005,$A260,$3E80;
  705. FUNCTION PBCatMoveAsync(paramBlock: CMovePBPtr): OSErr;
  706.  INLINE $205F,$7005,$A660,$3E80;
  707. FUNCTION PBDirCreate(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  708. FUNCTION PBDirCreateSync(paramBlock: HParmBlkPtr): OSErr;
  709.  INLINE $205F,$7006,$A260,$3E80;
  710. FUNCTION PBDirCreateAsync(paramBlock: HParmBlkPtr): OSErr;
  711.  INLINE $205F,$7006,$A660,$3E80;
  712. FUNCTION PBGetWDInfo(paramBlock: WDPBPtr;async: BOOLEAN): OSErr;
  713. FUNCTION PBGetWDInfoSync(paramBlock: WDPBPtr): OSErr;
  714.  INLINE $205F,$7007,$A260,$3E80;
  715. FUNCTION PBGetWDInfoAsync(paramBlock: WDPBPtr): OSErr;
  716.  INLINE $205F,$7007,$A660,$3E80;
  717. FUNCTION PBGetFCBInfo(paramBlock: FCBPBPtr;async: BOOLEAN): OSErr;
  718. FUNCTION PBGetFCBInfoSync(paramBlock: FCBPBPtr): OSErr;
  719.  INLINE $205F,$7008,$A260,$3E80;
  720. FUNCTION PBGetFCBInfoAsync(paramBlock: FCBPBPtr): OSErr;
  721.  INLINE $205F,$7008,$A660,$3E80;
  722. FUNCTION PBGetCatInfo(paramBlock: CInfoPBPtr;async: BOOLEAN): OSErr;
  723. FUNCTION PBGetCatInfoSync(paramBlock: CInfoPBPtr): OSErr;
  724.  INLINE $205F,$7009,$A260,$3E80;
  725. FUNCTION PBGetCatInfoAsync(paramBlock: CInfoPBPtr): OSErr;
  726.  INLINE $205F,$7009,$A660,$3E80;
  727. FUNCTION PBSetCatInfo(paramBlock: CInfoPBPtr;async: BOOLEAN): OSErr;
  728. FUNCTION PBSetCatInfoSync(paramBlock: CInfoPBPtr): OSErr;
  729.  INLINE $205F,$700A,$A260,$3E80;
  730. FUNCTION PBSetCatInfoAsync(paramBlock: CInfoPBPtr): OSErr;
  731.  INLINE $205F,$700A,$A660,$3E80;
  732.  
  733. FUNCTION PBAllocContig(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  734. FUNCTION PBAllocContigSync(paramBlock: ParmBlkPtr): OSErr;
  735.  INLINE $205F,$A210,$3E80;
  736. FUNCTION PBAllocContigAsync(paramBlock: ParmBlkPtr): OSErr;
  737.  INLINE $205F,$A610,$3E80;
  738. FUNCTION PBLockRange(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  739. FUNCTION PBLockRangeSync(paramBlock: ParmBlkPtr): OSErr;
  740.  INLINE $205F,$7010,$A260,$3E80;
  741. FUNCTION PBLockRangeAsync(paramBlock: ParmBlkPtr): OSErr;
  742.  INLINE $205F,$7010,$A660,$3E80;
  743. FUNCTION PBUnlockRange(paramBlock: ParmBlkPtr;async: BOOLEAN): OSErr;
  744. FUNCTION PBUnlockRangeSync(paramBlock: ParmBlkPtr): OSErr;
  745.  INLINE $205F,$7011,$A260,$3E80;
  746. FUNCTION PBUnlockRangeAsync(paramBlock: ParmBlkPtr): OSErr;
  747.  INLINE $205F,$7011,$A660,$3E80;
  748. FUNCTION PBSetVInfo(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  749. FUNCTION PBSetVInfoSync(paramBlock: HParmBlkPtr): OSErr;
  750.  INLINE $205F,$700B,$A260,$3E80;
  751. FUNCTION PBSetVInfoAsync(paramBlock: HParmBlkPtr): OSErr;
  752.  INLINE $205F,$700B,$A660,$3E80;
  753. FUNCTION PBHGetVInfo(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  754. FUNCTION PBHGetVInfoSync(paramBlock: HParmBlkPtr): OSErr;
  755.  INLINE $205F,$A207,$3E80;
  756. FUNCTION PBHGetVInfoAsync(paramBlock: HParmBlkPtr): OSErr;
  757.  INLINE $205F,$A607,$3E80;
  758. FUNCTION PBHOpen(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  759. FUNCTION PBHOpenSync(paramBlock: HParmBlkPtr): OSErr;
  760.  INLINE $205F,$A200,$3E80;
  761. FUNCTION PBHOpenAsync(paramBlock: HParmBlkPtr): OSErr;
  762.  INLINE $205F,$A600,$3E80;
  763. FUNCTION PBHOpenRF(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  764. FUNCTION PBHOpenRFSync(paramBlock: HParmBlkPtr): OSErr;
  765.  INLINE $205F,$A20A,$3E80;
  766. FUNCTION PBHOpenRFAsync(paramBlock: HParmBlkPtr): OSErr;
  767.  INLINE $205F,$A60A,$3E80;
  768. FUNCTION PBHOpenDF(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  769. FUNCTION PBHOpenDFSync(paramBlock: HParmBlkPtr): OSErr;
  770.  INLINE $205F,$701A,$A260,$3E80;
  771. FUNCTION PBHOpenDFAsync(paramBlock: HParmBlkPtr): OSErr;
  772.  INLINE $205F,$701A,$A660,$3E80;
  773.  
  774. FUNCTION PBHCreate(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  775. FUNCTION PBHCreateSync(paramBlock: HParmBlkPtr): OSErr;
  776.  INLINE $205F,$A208,$3E80;
  777. FUNCTION PBHCreateAsync(paramBlock: HParmBlkPtr): OSErr;
  778.  INLINE $205F,$A608,$3E80;
  779. FUNCTION PBHDelete(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  780. FUNCTION PBHDeleteSync(paramBlock: HParmBlkPtr): OSErr;
  781.  INLINE $205F,$A209,$3E80;
  782. FUNCTION PBHDeleteAsync(paramBlock: HParmBlkPtr): OSErr;
  783.  INLINE $205F,$A609,$3E80;
  784. FUNCTION PBHRename(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  785. FUNCTION PBHRenameSync(paramBlock: HParmBlkPtr): OSErr;
  786.  INLINE $205F,$A20B,$3E80;
  787. FUNCTION PBHRenameAsync(paramBlock: HParmBlkPtr): OSErr;
  788.  INLINE $205F,$A60B,$3E80;
  789. FUNCTION PBHRstFLock(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  790. FUNCTION PBHRstFLockSync(paramBlock: HParmBlkPtr): OSErr;
  791.  INLINE $205F,$A242,$3E80;
  792. FUNCTION PBHRstFLockAsync(paramBlock: HParmBlkPtr): OSErr;
  793.  INLINE $205F,$A642,$3E80;
  794. FUNCTION PBHSetFLock(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  795. FUNCTION PBHSetFLockSync(paramBlock: HParmBlkPtr): OSErr;
  796.  INLINE $205F,$A241,$3E80;
  797. FUNCTION PBHSetFLockAsync(paramBlock: HParmBlkPtr): OSErr;
  798.  INLINE $205F,$A641,$3E80;
  799. FUNCTION PBHGetFInfo(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  800. FUNCTION PBHGetFInfoSync(paramBlock: HParmBlkPtr): OSErr;
  801.  INLINE $205F,$A20C,$3E80;
  802. FUNCTION PBHGetFInfoAsync(paramBlock: HParmBlkPtr): OSErr;
  803.  INLINE $205F,$A60C,$3E80;
  804. FUNCTION PBHSetFInfo(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  805. FUNCTION PBHSetFInfoSync(paramBlock: HParmBlkPtr): OSErr;
  806.  INLINE $205F,$A20D,$3E80;
  807. FUNCTION PBHSetFInfoAsync(paramBlock: HParmBlkPtr): OSErr;
  808.  INLINE $205F,$A60D,$3E80;
  809.  
  810. FUNCTION PBMakeFSSpec(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  811. FUNCTION PBMakeFSSpecSync(paramBlock: HParmBlkPtr): OSErr;
  812.  INLINE $205F,$701B,$A260,$3E80;
  813. FUNCTION PBMakeFSSpecAsync(paramBlock: HParmBlkPtr): OSErr;
  814.  INLINE $205F,$701B,$A660,$3E80;
  815.  
  816. PROCEDURE FInitQueue;
  817.  INLINE $A016;
  818. FUNCTION GetFSQHdr: QHdrPtr;
  819.  INLINE $2EBC,$0000,$0360;
  820. FUNCTION GetDrvQHdr: QHdrPtr;
  821.  INLINE $2EBC,$0000,$0308;
  822. FUNCTION GetVCBQHdr: QHdrPtr;
  823.  INLINE $2EBC,$0000,$0356;
  824. FUNCTION HGetVol(volName: StringPtr;VAR vRefNum: INTEGER;VAR dirID: LONGINT): OSErr;
  825. FUNCTION HSetVol(volName: StringPtr;vRefNum: INTEGER;dirID: LONGINT): OSErr;
  826. FUNCTION HOpen(vRefNum: INTEGER;dirID: LONGINT;fileName: Str255;permission: SignedByte;
  827.  VAR refNum: INTEGER): OSErr;
  828. FUNCTION HOpenDF(vRefNum: INTEGER;dirID: LONGINT;fileName: Str255;permission: SignedByte;
  829.  VAR refNum: INTEGER): OSErr;
  830. FUNCTION HOpenRF(vRefNum: INTEGER;dirID: LONGINT;fileName: Str255;permission: SignedByte;
  831.  VAR refNum: INTEGER): OSErr;
  832. FUNCTION AllocContig(refNum: INTEGER;VAR count: LONGINT): OSErr;
  833. FUNCTION HCreate(vRefNum: INTEGER;dirID: LONGINT;fileName: Str255;creator: OSType;
  834.  fileType: OSType): OSErr;
  835. FUNCTION DirCreate(vRefNum: INTEGER;parentDirID: LONGINT;directoryName: Str255;
  836.  VAR createdDirID: LONGINT): OSErr;
  837. FUNCTION HDelete(vRefNum: INTEGER;dirID: LONGINT;fileName: Str255): OSErr;
  838. FUNCTION HGetFInfo(vRefNum: INTEGER;dirID: LONGINT;fileName: Str255;VAR fndrInfo: FInfo): OSErr;
  839. FUNCTION HSetFInfo(vRefNum: INTEGER;dirID: LONGINT;fileName: Str255;fndrInfo: FInfo): OSErr;
  840. FUNCTION HSetFLock(vRefNum: INTEGER;dirID: LONGINT;fileName: Str255): OSErr;
  841. FUNCTION HRstFLock(vRefNum: INTEGER;dirID: LONGINT;fileName: Str255): OSErr;
  842. FUNCTION HRename(vRefNum: INTEGER;dirID: LONGINT;oldName: Str255;newName: Str255): OSErr;
  843. FUNCTION CatMove(vRefNum: INTEGER;dirID: LONGINT;oldName: Str255;newDirID: LONGINT;
  844.  newName: Str255): OSErr;
  845. FUNCTION OpenWD(vRefNum: INTEGER;dirID: LONGINT;procID: LONGINT;VAR wdRefNum: INTEGER): OSErr;
  846. FUNCTION CloseWD(wdRefNum: INTEGER): OSErr;
  847. FUNCTION GetWDInfo(wdRefNum: INTEGER;VAR vRefNum: INTEGER;VAR dirID: LONGINT;
  848.  VAR procID: LONGINT): OSErr;
  849.  
  850. {  shared environment  }
  851. FUNCTION PBHGetVolParms(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  852. FUNCTION PBHGetVolParmsSync(paramBlock: HParmBlkPtr): OSErr;
  853.  INLINE $205F,$7030,$A260,$3E80;
  854. FUNCTION PBHGetVolParmsAsync(paramBlock: HParmBlkPtr): OSErr;
  855.  INLINE $205F,$7030,$A660,$3E80;
  856. FUNCTION PBHGetLogInInfo(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  857. FUNCTION PBHGetLogInInfoSync(paramBlock: HParmBlkPtr): OSErr;
  858.  INLINE $205F,$7031,$A260,$3E80;
  859. FUNCTION PBHGetLogInInfoAsync(paramBlock: HParmBlkPtr): OSErr;
  860.  INLINE $205F,$7031,$A660,$3E80;
  861. FUNCTION PBHGetDirAccess(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  862. FUNCTION PBHGetDirAccessSync(paramBlock: HParmBlkPtr): OSErr;
  863.  INLINE $205F,$7032,$A260,$3E80;
  864. FUNCTION PBHGetDirAccessAsync(paramBlock: HParmBlkPtr): OSErr;
  865.  INLINE $205F,$7032,$A660,$3E80;
  866. FUNCTION PBHSetDirAccess(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  867. FUNCTION PBHSetDirAccessSync(paramBlock: HParmBlkPtr): OSErr;
  868.  INLINE $205F,$7033,$A260,$3E80;
  869. FUNCTION PBHSetDirAccessAsync(paramBlock: HParmBlkPtr): OSErr;
  870.  INLINE $205F,$7033,$A660,$3E80;
  871. FUNCTION PBHMapID(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  872. FUNCTION PBHMapIDSync(paramBlock: HParmBlkPtr): OSErr;
  873.  INLINE $205F,$7034,$A260,$3E80;
  874. FUNCTION PBHMapIDAsync(paramBlock: HParmBlkPtr): OSErr;
  875.  INLINE $205F,$7034,$A660,$3E80;
  876. FUNCTION PBHMapName(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  877. FUNCTION PBHMapNameSync(paramBlock: HParmBlkPtr): OSErr;
  878.  INLINE $205F,$7035,$A260,$3E80;
  879. FUNCTION PBHMapNameAsync(paramBlock: HParmBlkPtr): OSErr;
  880.  INLINE $205F,$7035,$A660,$3E80;
  881. FUNCTION PBHCopyFile(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  882. FUNCTION PBHCopyFileSync(paramBlock: HParmBlkPtr): OSErr;
  883.  INLINE $205F,$7036,$A260,$3E80;
  884. FUNCTION PBHCopyFileAsync(paramBlock: HParmBlkPtr): OSErr;
  885.  INLINE $205F,$7036,$A660,$3E80;
  886. FUNCTION PBHMoveRename(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  887. FUNCTION PBHMoveRenameSync(paramBlock: HParmBlkPtr): OSErr;
  888.  INLINE $205F,$7037,$A260,$3E80;
  889. FUNCTION PBHMoveRenameAsync(paramBlock: HParmBlkPtr): OSErr;
  890.  INLINE $205F,$7037,$A660,$3E80;
  891. FUNCTION PBHOpenDeny(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  892. FUNCTION PBHOpenDenySync(paramBlock: HParmBlkPtr): OSErr;
  893.  INLINE $205F,$7038,$A260,$3E80;
  894. FUNCTION PBHOpenDenyAsync(paramBlock: HParmBlkPtr): OSErr;
  895.  INLINE $205F,$7038,$A660,$3E80;
  896. FUNCTION PBHOpenRFDeny(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  897. FUNCTION PBHOpenRFDenySync(paramBlock: HParmBlkPtr): OSErr;
  898.  INLINE $205F,$7039,$A260,$3E80;
  899. FUNCTION PBHOpenRFDenyAsync(paramBlock: HParmBlkPtr): OSErr;
  900.  INLINE $205F,$7039,$A660,$3E80;
  901.  
  902. FUNCTION PBExchangeFiles(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  903. FUNCTION PBExchangeFilesSync(paramBlock: HParmBlkPtr): OSErr;
  904.  INLINE $205F,$7017,$A260,$3E80;
  905. FUNCTION PBExchangeFilesAsync(paramBlock: HParmBlkPtr): OSErr;
  906.  INLINE $205F,$7017,$A660,$3E80;
  907. FUNCTION PBCreateFileIDRef(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  908. FUNCTION PBCreateFileIDRefSync(paramBlock: HParmBlkPtr): OSErr;
  909.  INLINE $205F,$7014,$A260,$3E80;
  910. FUNCTION PBCreateFileIDRefAsync(paramBlock: HParmBlkPtr): OSErr;
  911.  INLINE $205F,$7014,$A660,$3E80;
  912. FUNCTION PBResolveFileIDRef(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  913. FUNCTION PBResolveFileIDRefSync(paramBlock: HParmBlkPtr): OSErr;
  914.  INLINE $205F,$7016,$A260,$3E80;
  915. FUNCTION PBResolveFileIDRefAsync(paramBlock: HParmBlkPtr): OSErr;
  916.  INLINE $205F,$7016,$A660,$3E80;
  917. FUNCTION PBDeleteFileIDRef(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  918. FUNCTION PBDeleteFileIDRefSync(paramBlock: HParmBlkPtr): OSErr;
  919.  INLINE $205F,$7015,$A260,$3E80;
  920. FUNCTION PBDeleteFileIDRefAsync(paramBlock: HParmBlkPtr): OSErr;
  921.  INLINE $205F,$7015,$A660,$3E80;
  922.  
  923. FUNCTION PBGetForeignPrivs(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  924. FUNCTION PBGetForeignPrivsSync(paramBlock: HParmBlkPtr): OSErr;
  925.  INLINE $205F,$7060,$A260,$3E80;
  926. FUNCTION PBGetForeignPrivsAsync(paramBlock: HParmBlkPtr): OSErr;
  927.  INLINE $205F,$7060,$A660,$3E80;
  928. FUNCTION PBSetForeignPrivs(paramBlock: HParmBlkPtr;async: BOOLEAN): OSErr;
  929. FUNCTION PBSetForeignPrivsSync(paramBlock: HParmBlkPtr): OSErr;
  930.  INLINE $205F,$7061,$A260,$3E80;
  931. FUNCTION PBSetForeignPrivsAsync(paramBlock: HParmBlkPtr): OSErr;
  932.  INLINE $205F,$7061,$A660,$3E80;
  933.  
  934. {  Desktop Manager  }
  935. FUNCTION PBDTGetPath(paramBlock: DTPBPtr): OSErr;
  936.  INLINE $205F,$7020,$A260,$3E80;
  937. FUNCTION PBDTCloseDown(paramBlock: DTPBPtr): OSErr;
  938.  INLINE $205F,$7021,$A260,$3E80;
  939. FUNCTION PBDTAddIcon(paramBlock: DTPBPtr;async: BOOLEAN): OSErr;
  940. FUNCTION PBDTAddIconSync(paramBlock: DTPBPtr): OSErr;
  941.  INLINE $205F,$7022,$A260,$3E80;
  942. FUNCTION PBDTAddIconAsync(paramBlock: DTPBPtr): OSErr;
  943.  INLINE $205F,$7022,$A660,$3E80;
  944. FUNCTION PBDTGetIcon(paramBlock: DTPBPtr;async: BOOLEAN): OSErr;
  945. FUNCTION PBDTGetIconSync(paramBlock: DTPBPtr): OSErr;
  946.  INLINE $205F,$7023,$A260,$3E80;
  947. FUNCTION PBDTGetIconAsync(paramBlock: DTPBPtr): OSErr;
  948.  INLINE $205F,$7023,$A660,$3E80;
  949. FUNCTION PBDTGetIconInfo(paramBlock: DTPBPtr;async: BOOLEAN): OSErr;
  950. FUNCTION PBDTGetIconInfoSync(paramBlock: DTPBPtr): OSErr;
  951.  INLINE $205F,$7024,$A260,$3E80;
  952. FUNCTION PBDTGetIconInfoAsync(paramBlock: DTPBPtr): OSErr;
  953.  INLINE $205F,$7024,$A660,$3E80;
  954. FUNCTION PBDTAddAPPL(paramBlock: DTPBPtr;async: BOOLEAN): OSErr;
  955. FUNCTION PBDTAddAPPLSync(paramBlock: DTPBPtr): OSErr;
  956.  INLINE $205F,$7025,$A260,$3E80;
  957. FUNCTION PBDTAddAPPLAsync(paramBlock: DTPBPtr): OSErr;
  958.  INLINE $205F,$7025,$A660,$3E80;
  959. FUNCTION PBDTRemoveAPPL(paramBlock: DTPBPtr;async: BOOLEAN): OSErr;
  960. FUNCTION PBDTRemoveAPPLSync(paramBlock: DTPBPtr): OSErr;
  961.  INLINE $205F,$7026,$A260,$3E80;
  962. FUNCTION PBDTRemoveAPPLAsync(paramBlock: DTPBPtr): OSErr;
  963.  INLINE $205F,$7026,$A660,$3E80;
  964. FUNCTION PBDTGetAPPL(paramBlock: DTPBPtr;async: BOOLEAN): OSErr;
  965. FUNCTION PBDTGetAPPLSync(paramBlock: DTPBPtr): OSErr;
  966.  INLINE $205F,$7027,$A260,$3E80;
  967. FUNCTION PBDTGetAPPLAsync(paramBlock: DTPBPtr): OSErr;
  968.  INLINE $205F,$7027,$A660,$3E80;
  969. FUNCTION PBDTSetComment(paramBlock: DTPBPtr;async: BOOLEAN): OSErr;
  970. FUNCTION PBDTSetCommentSync(paramBlock: DTPBPtr): OSErr;
  971.  INLINE $205F,$7028,$A260,$3E80;
  972. FUNCTION PBDTSetCommentAsync(paramBlock: DTPBPtr): OSErr;
  973.  INLINE $205F,$7028,$A660,$3E80;
  974. FUNCTION PBDTRemoveComment(paramBlock: DTPBPtr;async: BOOLEAN): OSErr;
  975. FUNCTION PBDTRemoveCommentSync(paramBlock: DTPBPtr): OSErr;
  976.  INLINE $205F,$7029,$A260,$3E80;
  977. FUNCTION PBDTRemoveCommentAsync(paramBlock: DTPBPtr): OSErr;
  978.  INLINE $205F,$7029,$A660,$3E80;
  979. FUNCTION PBDTGetComment(paramBlock: DTPBPtr;async: BOOLEAN): OSErr;
  980. FUNCTION PBDTGetCommentSync(paramBlock: DTPBPtr): OSErr;
  981.  INLINE $205F,$702A,$A260,$3E80;
  982. FUNCTION PBDTGetCommentAsync(paramBlock: DTPBPtr): OSErr;
  983.  INLINE $205F,$702A,$A660,$3E80;
  984. FUNCTION PBDTFlush(paramBlock: DTPBPtr;async: BOOLEAN): OSErr;
  985. FUNCTION PBDTFlushSync(paramBlock: DTPBPtr): OSErr;
  986.  INLINE $205F,$702B,$A260,$3E80;
  987. FUNCTION PBDTFlushAsync(paramBlock: DTPBPtr): OSErr;
  988.  INLINE $205F,$702B,$A660,$3E80;
  989. FUNCTION PBDTReset(paramBlock: DTPBPtr;async: BOOLEAN): OSErr;
  990. FUNCTION PBDTResetSync(paramBlock: DTPBPtr): OSErr;
  991.  INLINE $205F,$702C,$A260,$3E80;
  992. FUNCTION PBDTResetAsync(paramBlock: DTPBPtr): OSErr;
  993.  INLINE $205F,$702C,$A660,$3E80;
  994. FUNCTION PBDTGetInfo(paramBlock: DTPBPtr;async: BOOLEAN): OSErr;
  995. FUNCTION PBDTGetInfoSync(paramBlock: DTPBPtr): OSErr;
  996.  INLINE $205F,$702D,$A260,$3E80;
  997. FUNCTION PBDTGetInfoAsync(paramBlock: DTPBPtr): OSErr;
  998.  INLINE $205F,$702D,$A660,$3E80;
  999. FUNCTION PBDTOpenInform(paramBlock: DTPBPtr): OSErr;
  1000.  INLINE $205F,$702E,$A060,$3E80;
  1001. FUNCTION PBDTDelete(paramBlock: DTPBPtr;async: BOOLEAN): OSErr;
  1002. FUNCTION PBDTDeleteSync(paramBlock: DTPBPtr): OSErr;
  1003.  INLINE $205F,$702F,$A060,$3E80;
  1004. FUNCTION PBDTDeleteAsync(paramBlock: DTPBPtr): OSErr;
  1005.  INLINE $205F,$702F,$A460,$3E80;
  1006.  
  1007. {  VolumeMount traps  }
  1008. FUNCTION PBGetVolMountInfoSize(paramBlock: ParmBlkPtr): OSErr;
  1009.  INLINE $205F,$703F,$A260,$3E80;
  1010. FUNCTION PBGetVolMountInfo(paramBlock: ParmBlkPtr): OSErr;
  1011.  INLINE $205F,$7040,$A260,$3E80;
  1012. FUNCTION PBVolumeMount(paramBlock: ParmBlkPtr): OSErr;
  1013.  INLINE $205F,$7041,$A260,$3E80;
  1014.  
  1015. {  FSp traps  }
  1016. FUNCTION FSMakeFSSpec(vRefNum: INTEGER;dirID: LONGINT;fileName: Str255;
  1017.  VAR spec: FSSpec): OSErr;
  1018.  INLINE $303C, $0001, $AA52;
  1019. FUNCTION FSpOpenDF(spec: FSSpec;permission: SignedByte;VAR refNum: INTEGER): OSErr;
  1020.  INLINE $303C, $0002, $AA52;
  1021. FUNCTION FSpOpenRF(spec: FSSpec ;permission: SignedByte;VAR refNum: INTEGER): OSErr;
  1022.  INLINE $303C, $0003, $AA52;
  1023. FUNCTION FSpCreate(spec: FSSpec ;creator: OSType;fileType: OSType;scriptTag: ScriptCode): OSErr;
  1024.  INLINE $303C, $0004, $AA52;
  1025. FUNCTION FSpDirCreate(spec: FSSpec;scriptTag: ScriptCode;VAR createdDirID: LONGINT): OSErr;
  1026.  INLINE $303C, $0005, $AA52;
  1027. FUNCTION FSpDelete(spec: FSSpec): OSErr;
  1028.  INLINE $303C, $0006, $AA52;
  1029. FUNCTION FSpGetFInfo(spec: FSSpec;VAR fndrInfo: FInfo): OSErr;
  1030.  INLINE $303C, $0007, $AA52;
  1031. FUNCTION FSpSetFInfo(spec: FSSpec;fndrInfo: FInfo): OSErr;
  1032.  INLINE $303C, $0008, $AA52;
  1033. FUNCTION FSpSetFLock(spec: FSSpec): OSErr;
  1034.  INLINE $303C, $0009, $AA52;
  1035. FUNCTION FSpRstFLock(spec: FSSpec): OSErr;
  1036.  INLINE $303C, $000A, $AA52;
  1037. FUNCTION FSpRename(spec: FSSpec;newName: Str255): OSErr;
  1038.  INLINE $303C, $000B, $AA52;
  1039. FUNCTION FSpCatMove(source: FSSpec;dest: FSSpec): OSErr;
  1040.  INLINE $303C, $000C, $AA52;
  1041. FUNCTION FSpExchangeFiles(source: FSSpec;dest: FSSpec): OSErr;
  1042.  INLINE $303C, $000F, $AA52;
  1043.  
  1044.  
  1045. {$ENDC} { UsingFiles }
  1046.  
  1047. {$IFC NOT UsingIncludes}
  1048.  END.
  1049. {$ENDC}
  1050.  
  1051.